6.2 Membresías
El Sistema de pagos permite administración de membresías, comúnmente conocidas como “subscripciones”. Los IDs de Producto (li_prod_id_1) debe ser creada antes de implementar este tipo de transacciones, con el servicio de producto del sistema de procesamiento de transacciones; para más información de membresías, contacte su representante de soporte del Sistema de procesamiento de transacciones.
Algunos procesadores pueden requerir la dirección de facturación del cliente.
6.2.1 Campos sugeridos para enviar una transacción de membresía (cliente nuevo):
Nombre del campo | Descripción | Tipo de datos |
---|---|---|
request_action | Acción de solicitud de servicio (envíe “CCAUTHCAP”). | Tipos de solicitud de servicio |
req_username | Usuario de solicitud de servicio | Alfanumérico |
req_password | Contraseña de solicitud de servicio | Alfanumérico y caracteres especiales |
request_response_format | Formato de respuesta de servicio | Valores aceptados: “XML”, “PIPES” and ”JSON” |
request_api_version | Versión de API del servicio de pagos | Numérico |
site_id | ID de sitio web del comercio | Numérico |
cust_fname | Nombre(s) del cliente | Alfanumérico y caracteres especiales |
cust_lname | Apellido(s) del cliente | Alfanumérico y caracteres especiales |
cust_email | Correo del cliente | Alfanumérico |
li_count_1 | Cantidad de líneas de artículo Valor máximo: “99”. | Numérico |
li_prod_id_1 | ID de línea de producto #1 (El tipo de producto debe ser membresía (membership)) | Numérico |
li_value_1 | Cantidad de transacción de línea de producto #1 | Numérico |
bill_addr | Calle de la dirección de facturación del cliente | Alfanumérico |
bill_addr_city | Ciudad de la dirección de facturación del cliente | Alfanumérico |
bill_addr_state | Estado de la dirección de facturación del cliente | 2-letter State or Territory Code |
bill_addr_zip | Código postal de la dirección de facturación del cliente | Alfanumérico |
bill_addr_country | País de la dirección de facturación del cliente | 2-letter Country Code ISO 3166-1 alpha-2 |
pmt_numb | Número de tarjeta de crédito | Numérico |
pmt_key | Código CVV2 o CVC2 del cliente | Numérico (4) |
pmt_expiry | Fecha de expiración de la tarjeta | Numérico MMAAAA Ejemplo: “122014” |
cust_login | Nombre de usuario del cliente | Alfanumérico y caracteres especiales |
cust_password | Contraseña del tarjetahabiente La contraseña debe contener por lo menos 10 caracteres e incluir al menos un número, una mayúscula y una minúscula. | Alfanumérico |
merch_acct_id | ID de cuenta del comercio | Numérico |
request_currency | Código de 3 letras de la divisa | Ejemplo: “USD” |
request_aff_id | ID externo de afiliado | Alfanumérico |
pmt_id_xtl | ID externo de pago o tarjeta de crédito | Alfanumérico |
6.2.2 Confirmar nombre de usuario único de clientes
Para clientes nuevos, el servicio de pagos declinará sus solicitudes si la información de inicio de sesión enviada en la solicitud ya existe dentro del mismo sitio (SITE_ID). El Sistema de procesamiento de transacciones retornará una Respuesta del servicio “695” al fallar el nombre de usuario único de clientes.
6.2.2.1 Ejemplo de respuesta declinada: Nombre de usuario no disponible
<RESPONSE>
<REQUEST_ACTION>CCAUTHCAP</REQUEST_ACTION>
<TRANS_STATUS_NAME/>
<TRANS_VALUE/>
<TRANS_ID/>
<CUST_ID/>
<XTL_CUST_ID/>
<MERCH_ACCT_ID>100</MERCH_ACCT_ID>
<CARD_BRAND_NAME/>
<PMT_L4/>
<API_RESPONSE>0</API_RESPONSE>
<API_ADVICE></API_ADVICE>
<SERVICE_RESPONSE>695</SERVICE_RESPONSE>
<SERVICE_ADVICE>Site Username Unavailable</SERVICE_ADVICE>
<PROCESSOR_RESPONSE>0</PROCESSOR_RESPONSE>
<PROCESSOR_ADVICE></PROCESSOR_ADVICE>
<INDUSTRY_RESPONSE>0</INDUSTRY_RESPONSE>
<INDUSTRY_ADVICE></INDUSTRY_ADVICE>
<REF_FIELD/>
<PROC_NAME/>
<AVS_RESPONSE/>
<CVV_RESPONSE/>
<REQUEST_API_VERSION>4.4</REQUEST_API_VERSION>
</RESPONSE>
6.2.3 Solicitud de cancelación de membresía (SUB_CANCEL)
Los comercios pueden enviar solicitudes de cancelación utilizando el servicio de pagos al enviar request_action=SUB_CANCEL en la solicitud al Sistema de procesamiento de transacciones. A continuación, los parámetros mínimos requeridos para la solicitud de cancelación:
6.2.3.1 Parámetros de solicitud SUB_CANCEL
Nombre del campo | Descripción | Tipo de datos |
---|---|---|
req_username | Usuario de solicitud de servicio | Alfanumérico |
req_password | Contraseña de solicitud de servicio | Alfanumérico y caracteres especiales |
request_response_format | Formato de respuesta de servicio | Valores aceptados: “XML”, “PIPES” and ”JSON” |
request_api_version | Versión de API del servicio (debe ser superior a 2.0) | Numérico |
site_id | ID de sitio web del comercio | Numérico |
req_action | Acción de solicitud de servicio: envíe “SUB_CANCEL” | |
request_ref_mbshp_id | ID de membresía referida. Nota: MBSHP_ID Es retornado en solicitudes exitosas de membresía. | Numérico |
SUB_CANCEL_TYPE | Tipos: “1”= CANCELAR AHORA “1” Hará que la fecha de cancelación sea hoy. “2” = CENCELAR EN LA SIGUIENTE FECHA DE COBRO envíe “2” para solicitar que la membresía se cancele el día de cobro. |
6.2.3.2 Ejemplo de solicitud SUB_CANCEL
request_ref_mbshp_id=9149&req_password=Testpass1234&site_id=1234&sub_cancel_type=1&request_api_version=4.4&req_username=testmerchant@example.com&cust_id=291087&request_action=SUB_CANCEL
6.2.3.3 Parámetros de respuesta SUB_CANCEL
Nombre del campo | Descripción |
---|---|
REQUEST_ACTION | Tipo de solicitud de acción: “SUB_CANCEL” |
API_RESPONSE | Código de respuesta de API |
API_ADVICE | Detalle de respuesta del API |
SERVICE_RESPONSE | Código de respuesta de servicio |
SERVICE_ADVICE | Detalle de respuesta del servicio |
REF_FIELD | Campo de referencia (Indicará el campo con errores de validación de datos) |
CUST_ID | ID de cliente |
MBSHP_ID | ID de membresía |
MBSHP_CANCEL_TS_UTC | Fecha de cancelación de membresía en UTC |
MBSHP_REBILL_TS_UTC | Fecha de cobro de la membresía en UTC |
6.2.3.4 Ejemplo de respuesta SUB_CANCEL del Servicio de procesamiento de transacciones
<RESPONSE>
<REQUEST_ACTION>SUB_UPDATE</REQUEST_ACTION>
<API_RESPONSE>0</API_RESPONSE>
<API_ADVICE></API_ADVICE>
<SERVICE_RESPONSE>0</SERVICE_RESPONSE>
<SERVICE_ADVICE></SERVICE_ADVICE>
<REF_FIELD/>
<CUST_ID>291061</CUST_ID>
<MBSHP_ID>1234</MBSHP_ID>
<MBSHP_CANCEL_TS_UTC>{ts '2012-08-03 20:46:19'}</MBSHP_CANCEL_TS_UTC>
<MBSHP_REBILL_TS_UTC/>
</RESPONSE>
6.2.4 Solicitud de actualización de producto de membresías (cambio de nivel de producto)
Los comercios pueden enviar una solicitud de actualización de producto utilizando el servicio de pagos al enviar una solicitud request_action=SUB_UPDATE. Nótese que, si el producto a actualizar es una membresía, se creará un nuevo registro de membresía (con la misma información del cliente) al momento en que se cambie exitosamente el producto actual de membresía. Al cliente se le carga por la actualización de producto en su siguiente fecha de cargo recurrente de acuerdo a la membresía actual del cliente. La membresía actual del cliente será cancelada al finalizar su periodo de suscripción.
A continuación, los parámetros mínimos requeridos para la solicitud SUB_UPDATE:
6.2.4.1 Parámetros de solicitud SUB_UPDATE
Nombre del campo | Descripción | Tipo de datos |
---|---|---|
req_username | Usuario de solicitud de servicio | Alfanumérico |
req_password | Contraseña de solicitud de servicio | Alfanumérico y caracteres especiales |
request_response_format | Formato de respuesta de servicio | Valores aceptados: “XML”, “PIPES” and ”JSON” |
request_api_version | Versión de API del servicio (debe ser superior a 4.4) | Numérico |
site_id | ID de sitio web del comercio | Numérico |
req_action | Acción de solicitud de servicio: send “SUB_UPDATE” | |
req_action | ID de membresía referida | Numérico |
req_action | La membresía se actualizará al ID de membresía escrito en | |
este campo. | Numérico |
6.2.4.2 Ejemplo de solicitud SUB_UPDATE al servicio de procesamiento de transacciones
request_ref_mbshp_id=1234&req_password=TestPass1234&site_id=1234&SUB_UPDATE_PROD_ID=787878&request_api_version=4.4&req_username=testmerchant@example.com&cust_id=291061&request_action=SUB_UPDATE
6.2.4.3 Parámetros de respuesta SUB_UPDATE
Nombre del campo | Descripción |
---|---|
REQUEST_ACTION | Tipo de solicitud de acción: “SUB_UPDATE” |
API_RESPONSE | Código de respuesta de API |
API_ADVICE | Detalle de respuesta del servicio API |
SERVICE_RESPONSE | Código de respuesta de servicio |
SERVICE_ADVICE | Detalle de respuesta del servicio |
REF_FIELD | Campo de referencia (indicará el campo en donde haya errores de validación de datos) |
CUST_ID | ID de cliente |
MBSHP_ID | ID de membresía |
MBSHP_CANCEL_TS_UTC | Fecha de cancelación de la membresía en UTC |
MBSHP_REBILL_TS_UTC | Fecha de cargo de la membresía en UTC |
6.2.4.4 Ejemplo de respuesta SUB_UPDATE del servicio de procesamiento de transacciones
<?xml version="1.0" encoding="UTF-8"?>
<RESPONSE>
<REQUEST_ACTION>SUB_UPDATE</REQUEST_ACTION>
<API_RESPONSE>0</API_RESPONSE>
<API_ADVICE> </API_ADVICE>
<SERVICE_RESPONSE>0</SERVICE_RESPONSE>
<SERVICE_ADVICE> </SERVICE_ADVICE>
<REF_FIELD/>
<CUST_ID>291061</CUST_ID>
<MBSHP_ID>1234</MBSHP_ID>
<MBSHP_CANCEL_TS_UTC>{ts '2012-08-03 20:46:19'}</MBSHP_CANCEL_TS_UTC>
<MBSHP_REBILL_TS_UTC/>
</RESPONSE>